Rollup of 4 pull requests#154300
Conversation
This allows compiling libcore with codegen backends that don't actually implement VaList like cg_clif.
The current code for indexing into bucket arrays is quite tricky and unsafe, partly because it has to keep manually assuring the compiler that a bucket index is always less than 21. By encapsulating that knowledge in a 21-value enum, we can make the code clearer and safer, without giving up performance. Having a dedicated `BucketIndex` type could also help with further cleanups of `VecCache` indexing.
Use a safe `BucketIndex` abstraction in `VecCache` The current code for indexing into bucket arrays is quite tricky and unsafe, partly because it has to keep manually assuring the compiler that a bucket index is always less than 21. By encapsulating that knowledge in a 21-value enum, we can make the code clearer and safer, without giving up performance. Having a dedicated `BucketIndex` type could also help with further cleanups of `VecCache` indexing.
… r=nnethercote Defer codegen for the VaList Drop impl to actual uses This allows compiling libcore with codegen backends that don't actually implement VaList like cg_clif.
fix/extend some mir-opt comments Looks like CopyProp was refactored without updating that comment. And for GVN, I think this is what you had in mind @cjgillot but would be great if you could have a look.
…t, r=JonathanBrouwer document some functions on AttributeExt r? @jyn514
|
@bors r+ rollup=never p=5 |
This comment has been minimized.
This comment has been minimized.
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing cde9cf0 (parent) -> 0312931 (this PR) Test differencesShow 40 test diffsStage 0
Stage 1
Additionally, 28 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 0312931d8c0ba1a28268a12c06202b68cbc65f76 --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (0312931): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results (primary 3.1%, secondary 1.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary -0.7%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary -0.1%, secondary -0.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 486.46s -> 484.31s (-0.44%) |
Successful merges:
BucketIndexabstraction inVecCache#153434 (Use a safeBucketIndexabstraction inVecCache)r? @ghost
Create a similar rollup